package com.ecoolex.discount.sales.entity;

import com.ecoolex.framework.common.annotation.Description;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.springframework.lang.NonNull;

public class QuanMaoCardOrderExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    protected Integer offset;

    protected Integer rows;

    public QuanMaoCardOrderExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public QuanMaoCardOrderExample orderBy(String orderByClause) {
        this.setOrderByClause(orderByClause);
        return this;
    }

    public QuanMaoCardOrderExample orderBy(String ... orderByClauses) {
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < orderByClauses.length; i++) {
            sb.append(orderByClauses[i]);
            if (i < orderByClauses.length - 1) {
                sb.append(" , ");
            }
        }
        this.setOrderByClause(sb.toString());
        return this;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria(this);
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
        rows = null;
        offset = null;
    }

    public static Criteria newAndCreateCriteria() {
        QuanMaoCardOrderExample example = new QuanMaoCardOrderExample();
        return example.createCriteria();
    }

    public QuanMaoCardOrderExample when(boolean condition, IExampleWhen then) {
        if (condition) {
            then.example(this);
        }
        return this;
    }

    public QuanMaoCardOrderExample when(boolean condition, IExampleWhen then, IExampleWhen otherwise) {
        if (condition) {
            then.example(this);
        } else {
            otherwise.example(this);
        }
        return this;
    }

    public void setOffset(Integer offset) {
        this.offset = offset;
    }

    public Integer getOffset() {
        return this.offset;
    }

    public void setRows(Integer rows) {
        this.rows = rows;
    }

    public Integer getRows() {
        return this.rows;
    }

    public QuanMaoCardOrderExample limit(Integer rows) {
        this.rows = rows;
        return this;
    }

    public QuanMaoCardOrderExample limit(Integer offset, Integer rows) {
        this.offset = offset;
        this.rows = rows;
        return this;
    }

    public QuanMaoCardOrderExample page(Integer page, Integer pageSize) {
        this.offset = page * pageSize;
        this.rows = pageSize;
        return this;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andOrderIdIsNull() {
            addCriterion("quanmaocardorder.OrderId is null");
            return (Criteria) this;
        }

        public Criteria andOrderIdIsNotNull() {
            addCriterion("quanmaocardorder.OrderId is not null");
            return (Criteria) this;
        }

        public Criteria andOrderIdEqualTo(Long value) {
            addCriterion("quanmaocardorder.OrderId =", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.OrderId = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOrderIdNotEqualTo(Long value) {
            addCriterion("quanmaocardorder.OrderId <>", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.OrderId <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOrderIdGreaterThan(Long value) {
            addCriterion("quanmaocardorder.OrderId >", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdGreaterThanColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.OrderId > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOrderIdGreaterThanOrEqualTo(Long value) {
            addCriterion("quanmaocardorder.OrderId >=", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdGreaterThanOrEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.OrderId >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOrderIdLessThan(Long value) {
            addCriterion("quanmaocardorder.OrderId <", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdLessThanColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.OrderId < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOrderIdLessThanOrEqualTo(Long value) {
            addCriterion("quanmaocardorder.OrderId <=", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdLessThanOrEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.OrderId <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOrderIdIn(List<Long> values) {
            addCriterion("quanmaocardorder.OrderId in", values, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotIn(List<Long> values) {
            addCriterion("quanmaocardorder.OrderId not in", values, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdBetween(Long value1, Long value2) {
            addCriterion("quanmaocardorder.OrderId between", value1, value2, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotBetween(Long value1, Long value2) {
            addCriterion("quanmaocardorder.OrderId not between", value1, value2, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderNumberIsNull() {
            addCriterion("quanmaocardorder.OrderNumber is null");
            return (Criteria) this;
        }

        public Criteria andOrderNumberIsNotNull() {
            addCriterion("quanmaocardorder.OrderNumber is not null");
            return (Criteria) this;
        }

        public Criteria andOrderNumberEqualTo(String value) {
            addCriterion("quanmaocardorder.OrderNumber =", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.OrderNumber = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOrderNumberNotEqualTo(String value) {
            addCriterion("quanmaocardorder.OrderNumber <>", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberNotEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.OrderNumber <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOrderNumberGreaterThan(String value) {
            addCriterion("quanmaocardorder.OrderNumber >", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberGreaterThanColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.OrderNumber > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOrderNumberGreaterThanOrEqualTo(String value) {
            addCriterion("quanmaocardorder.OrderNumber >=", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberGreaterThanOrEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.OrderNumber >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOrderNumberLessThan(String value) {
            addCriterion("quanmaocardorder.OrderNumber <", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberLessThanColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.OrderNumber < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOrderNumberLessThanOrEqualTo(String value) {
            addCriterion("quanmaocardorder.OrderNumber <=", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberLessThanOrEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.OrderNumber <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOrderNumberLike(String value) {
            addCriterion("quanmaocardorder.OrderNumber like", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberNotLike(String value) {
            addCriterion("quanmaocardorder.OrderNumber not like", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberIn(List<String> values) {
            addCriterion("quanmaocardorder.OrderNumber in", values, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberNotIn(List<String> values) {
            addCriterion("quanmaocardorder.OrderNumber not in", values, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberBetween(String value1, String value2) {
            addCriterion("quanmaocardorder.OrderNumber between", value1, value2, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberNotBetween(String value1, String value2) {
            addCriterion("quanmaocardorder.OrderNumber not between", value1, value2, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andMerchantsOrderNumberIsNull() {
            addCriterion("quanmaocardorder.MerchantsOrderNumber is null");
            return (Criteria) this;
        }

        public Criteria andMerchantsOrderNumberIsNotNull() {
            addCriterion("quanmaocardorder.MerchantsOrderNumber is not null");
            return (Criteria) this;
        }

        public Criteria andMerchantsOrderNumberEqualTo(String value) {
            addCriterion("quanmaocardorder.MerchantsOrderNumber =", value, "merchantsOrderNumber");
            return (Criteria) this;
        }

        public Criteria andMerchantsOrderNumberEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.MerchantsOrderNumber = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andMerchantsOrderNumberNotEqualTo(String value) {
            addCriterion("quanmaocardorder.MerchantsOrderNumber <>", value, "merchantsOrderNumber");
            return (Criteria) this;
        }

        public Criteria andMerchantsOrderNumberNotEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.MerchantsOrderNumber <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andMerchantsOrderNumberGreaterThan(String value) {
            addCriterion("quanmaocardorder.MerchantsOrderNumber >", value, "merchantsOrderNumber");
            return (Criteria) this;
        }

        public Criteria andMerchantsOrderNumberGreaterThanColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.MerchantsOrderNumber > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andMerchantsOrderNumberGreaterThanOrEqualTo(String value) {
            addCriterion("quanmaocardorder.MerchantsOrderNumber >=", value, "merchantsOrderNumber");
            return (Criteria) this;
        }

        public Criteria andMerchantsOrderNumberGreaterThanOrEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.MerchantsOrderNumber >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andMerchantsOrderNumberLessThan(String value) {
            addCriterion("quanmaocardorder.MerchantsOrderNumber <", value, "merchantsOrderNumber");
            return (Criteria) this;
        }

        public Criteria andMerchantsOrderNumberLessThanColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.MerchantsOrderNumber < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andMerchantsOrderNumberLessThanOrEqualTo(String value) {
            addCriterion("quanmaocardorder.MerchantsOrderNumber <=", value, "merchantsOrderNumber");
            return (Criteria) this;
        }

        public Criteria andMerchantsOrderNumberLessThanOrEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.MerchantsOrderNumber <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andMerchantsOrderNumberLike(String value) {
            addCriterion("quanmaocardorder.MerchantsOrderNumber like", value, "merchantsOrderNumber");
            return (Criteria) this;
        }

        public Criteria andMerchantsOrderNumberNotLike(String value) {
            addCriterion("quanmaocardorder.MerchantsOrderNumber not like", value, "merchantsOrderNumber");
            return (Criteria) this;
        }

        public Criteria andMerchantsOrderNumberIn(List<String> values) {
            addCriterion("quanmaocardorder.MerchantsOrderNumber in", values, "merchantsOrderNumber");
            return (Criteria) this;
        }

        public Criteria andMerchantsOrderNumberNotIn(List<String> values) {
            addCriterion("quanmaocardorder.MerchantsOrderNumber not in", values, "merchantsOrderNumber");
            return (Criteria) this;
        }

        public Criteria andMerchantsOrderNumberBetween(String value1, String value2) {
            addCriterion("quanmaocardorder.MerchantsOrderNumber between", value1, value2, "merchantsOrderNumber");
            return (Criteria) this;
        }

        public Criteria andMerchantsOrderNumberNotBetween(String value1, String value2) {
            addCriterion("quanmaocardorder.MerchantsOrderNumber not between", value1, value2, "merchantsOrderNumber");
            return (Criteria) this;
        }

        public Criteria andCardNameIsNull() {
            addCriterion("quanmaocardorder.CardName is null");
            return (Criteria) this;
        }

        public Criteria andCardNameIsNotNull() {
            addCriterion("quanmaocardorder.CardName is not null");
            return (Criteria) this;
        }

        public Criteria andCardNameEqualTo(String value) {
            addCriterion("quanmaocardorder.CardName =", value, "cardName");
            return (Criteria) this;
        }

        public Criteria andCardNameEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.CardName = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardNameNotEqualTo(String value) {
            addCriterion("quanmaocardorder.CardName <>", value, "cardName");
            return (Criteria) this;
        }

        public Criteria andCardNameNotEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.CardName <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardNameGreaterThan(String value) {
            addCriterion("quanmaocardorder.CardName >", value, "cardName");
            return (Criteria) this;
        }

        public Criteria andCardNameGreaterThanColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.CardName > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardNameGreaterThanOrEqualTo(String value) {
            addCriterion("quanmaocardorder.CardName >=", value, "cardName");
            return (Criteria) this;
        }

        public Criteria andCardNameGreaterThanOrEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.CardName >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardNameLessThan(String value) {
            addCriterion("quanmaocardorder.CardName <", value, "cardName");
            return (Criteria) this;
        }

        public Criteria andCardNameLessThanColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.CardName < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardNameLessThanOrEqualTo(String value) {
            addCriterion("quanmaocardorder.CardName <=", value, "cardName");
            return (Criteria) this;
        }

        public Criteria andCardNameLessThanOrEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.CardName <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardNameLike(String value) {
            addCriterion("quanmaocardorder.CardName like", value, "cardName");
            return (Criteria) this;
        }

        public Criteria andCardNameNotLike(String value) {
            addCriterion("quanmaocardorder.CardName not like", value, "cardName");
            return (Criteria) this;
        }

        public Criteria andCardNameIn(List<String> values) {
            addCriterion("quanmaocardorder.CardName in", values, "cardName");
            return (Criteria) this;
        }

        public Criteria andCardNameNotIn(List<String> values) {
            addCriterion("quanmaocardorder.CardName not in", values, "cardName");
            return (Criteria) this;
        }

        public Criteria andCardNameBetween(String value1, String value2) {
            addCriterion("quanmaocardorder.CardName between", value1, value2, "cardName");
            return (Criteria) this;
        }

        public Criteria andCardNameNotBetween(String value1, String value2) {
            addCriterion("quanmaocardorder.CardName not between", value1, value2, "cardName");
            return (Criteria) this;
        }

        public Criteria andCardNoIsNull() {
            addCriterion("quanmaocardorder.CardNo is null");
            return (Criteria) this;
        }

        public Criteria andCardNoIsNotNull() {
            addCriterion("quanmaocardorder.CardNo is not null");
            return (Criteria) this;
        }

        public Criteria andCardNoEqualTo(Long value) {
            addCriterion("quanmaocardorder.CardNo =", value, "cardNo");
            return (Criteria) this;
        }

        public Criteria andCardNoEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.CardNo = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardNoNotEqualTo(Long value) {
            addCriterion("quanmaocardorder.CardNo <>", value, "cardNo");
            return (Criteria) this;
        }

        public Criteria andCardNoNotEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.CardNo <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardNoGreaterThan(Long value) {
            addCriterion("quanmaocardorder.CardNo >", value, "cardNo");
            return (Criteria) this;
        }

        public Criteria andCardNoGreaterThanColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.CardNo > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardNoGreaterThanOrEqualTo(Long value) {
            addCriterion("quanmaocardorder.CardNo >=", value, "cardNo");
            return (Criteria) this;
        }

        public Criteria andCardNoGreaterThanOrEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.CardNo >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardNoLessThan(Long value) {
            addCriterion("quanmaocardorder.CardNo <", value, "cardNo");
            return (Criteria) this;
        }

        public Criteria andCardNoLessThanColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.CardNo < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardNoLessThanOrEqualTo(Long value) {
            addCriterion("quanmaocardorder.CardNo <=", value, "cardNo");
            return (Criteria) this;
        }

        public Criteria andCardNoLessThanOrEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.CardNo <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardNoIn(List<Long> values) {
            addCriterion("quanmaocardorder.CardNo in", values, "cardNo");
            return (Criteria) this;
        }

        public Criteria andCardNoNotIn(List<Long> values) {
            addCriterion("quanmaocardorder.CardNo not in", values, "cardNo");
            return (Criteria) this;
        }

        public Criteria andCardNoBetween(Long value1, Long value2) {
            addCriterion("quanmaocardorder.CardNo between", value1, value2, "cardNo");
            return (Criteria) this;
        }

        public Criteria andCardNoNotBetween(Long value1, Long value2) {
            addCriterion("quanmaocardorder.CardNo not between", value1, value2, "cardNo");
            return (Criteria) this;
        }

        public Criteria andCardTypeIsNull() {
            addCriterion("quanmaocardorder.CardType is null");
            return (Criteria) this;
        }

        public Criteria andCardTypeIsNotNull() {
            addCriterion("quanmaocardorder.CardType is not null");
            return (Criteria) this;
        }

        public Criteria andCardTypeEqualTo(Integer value) {
            addCriterion("quanmaocardorder.CardType =", value, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.CardType = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardTypeNotEqualTo(Integer value) {
            addCriterion("quanmaocardorder.CardType <>", value, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeNotEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.CardType <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardTypeGreaterThan(Integer value) {
            addCriterion("quanmaocardorder.CardType >", value, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeGreaterThanColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.CardType > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("quanmaocardorder.CardType >=", value, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeGreaterThanOrEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.CardType >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardTypeLessThan(Integer value) {
            addCriterion("quanmaocardorder.CardType <", value, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeLessThanColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.CardType < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardTypeLessThanOrEqualTo(Integer value) {
            addCriterion("quanmaocardorder.CardType <=", value, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeLessThanOrEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.CardType <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardTypeIn(List<Integer> values) {
            addCriterion("quanmaocardorder.CardType in", values, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeNotIn(List<Integer> values) {
            addCriterion("quanmaocardorder.CardType not in", values, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeBetween(Integer value1, Integer value2) {
            addCriterion("quanmaocardorder.CardType between", value1, value2, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("quanmaocardorder.CardType not between", value1, value2, "cardType");
            return (Criteria) this;
        }

        public Criteria andCardNumsIsNull() {
            addCriterion("quanmaocardorder.CardNums is null");
            return (Criteria) this;
        }

        public Criteria andCardNumsIsNotNull() {
            addCriterion("quanmaocardorder.CardNums is not null");
            return (Criteria) this;
        }

        public Criteria andCardNumsEqualTo(Integer value) {
            addCriterion("quanmaocardorder.CardNums =", value, "cardNums");
            return (Criteria) this;
        }

        public Criteria andCardNumsEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.CardNums = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardNumsNotEqualTo(Integer value) {
            addCriterion("quanmaocardorder.CardNums <>", value, "cardNums");
            return (Criteria) this;
        }

        public Criteria andCardNumsNotEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.CardNums <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardNumsGreaterThan(Integer value) {
            addCriterion("quanmaocardorder.CardNums >", value, "cardNums");
            return (Criteria) this;
        }

        public Criteria andCardNumsGreaterThanColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.CardNums > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardNumsGreaterThanOrEqualTo(Integer value) {
            addCriterion("quanmaocardorder.CardNums >=", value, "cardNums");
            return (Criteria) this;
        }

        public Criteria andCardNumsGreaterThanOrEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.CardNums >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardNumsLessThan(Integer value) {
            addCriterion("quanmaocardorder.CardNums <", value, "cardNums");
            return (Criteria) this;
        }

        public Criteria andCardNumsLessThanColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.CardNums < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardNumsLessThanOrEqualTo(Integer value) {
            addCriterion("quanmaocardorder.CardNums <=", value, "cardNums");
            return (Criteria) this;
        }

        public Criteria andCardNumsLessThanOrEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.CardNums <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardNumsIn(List<Integer> values) {
            addCriterion("quanmaocardorder.CardNums in", values, "cardNums");
            return (Criteria) this;
        }

        public Criteria andCardNumsNotIn(List<Integer> values) {
            addCriterion("quanmaocardorder.CardNums not in", values, "cardNums");
            return (Criteria) this;
        }

        public Criteria andCardNumsBetween(Integer value1, Integer value2) {
            addCriterion("quanmaocardorder.CardNums between", value1, value2, "cardNums");
            return (Criteria) this;
        }

        public Criteria andCardNumsNotBetween(Integer value1, Integer value2) {
            addCriterion("quanmaocardorder.CardNums not between", value1, value2, "cardNums");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("quanmaocardorder.`Status` is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("quanmaocardorder.`Status` is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(Integer value) {
            addCriterion("quanmaocardorder.`Status` =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.`Status` = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(Integer value) {
            addCriterion("quanmaocardorder.`Status` <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.`Status` <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(Integer value) {
            addCriterion("quanmaocardorder.`Status` >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.`Status` > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("quanmaocardorder.`Status` >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.`Status` >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(Integer value) {
            addCriterion("quanmaocardorder.`Status` <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.`Status` < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(Integer value) {
            addCriterion("quanmaocardorder.`Status` <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.`Status` <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<Integer> values) {
            addCriterion("quanmaocardorder.`Status` in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<Integer> values) {
            addCriterion("quanmaocardorder.`Status` not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(Integer value1, Integer value2) {
            addCriterion("quanmaocardorder.`Status` between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("quanmaocardorder.`Status` not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNull() {
            addCriterion("quanmaocardorder.Remarks is null");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNotNull() {
            addCriterion("quanmaocardorder.Remarks is not null");
            return (Criteria) this;
        }

        public Criteria andRemarksEqualTo(String value) {
            addCriterion("quanmaocardorder.Remarks =", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.Remarks = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRemarksNotEqualTo(String value) {
            addCriterion("quanmaocardorder.Remarks <>", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.Remarks <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThan(String value) {
            addCriterion("quanmaocardorder.Remarks >", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThanColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.Remarks > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThanOrEqualTo(String value) {
            addCriterion("quanmaocardorder.Remarks >=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThanOrEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.Remarks >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRemarksLessThan(String value) {
            addCriterion("quanmaocardorder.Remarks <", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThanColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.Remarks < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRemarksLessThanOrEqualTo(String value) {
            addCriterion("quanmaocardorder.Remarks <=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThanOrEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.Remarks <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRemarksLike(String value) {
            addCriterion("quanmaocardorder.Remarks like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotLike(String value) {
            addCriterion("quanmaocardorder.Remarks not like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksIn(List<String> values) {
            addCriterion("quanmaocardorder.Remarks in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotIn(List<String> values) {
            addCriterion("quanmaocardorder.Remarks not in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksBetween(String value1, String value2) {
            addCriterion("quanmaocardorder.Remarks between", value1, value2, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotBetween(String value1, String value2) {
            addCriterion("quanmaocardorder.Remarks not between", value1, value2, "remarks");
            return (Criteria) this;
        }

        public Criteria andPayTimeIsNull() {
            addCriterion("quanmaocardorder.PayTime is null");
            return (Criteria) this;
        }

        public Criteria andPayTimeIsNotNull() {
            addCriterion("quanmaocardorder.PayTime is not null");
            return (Criteria) this;
        }

        public Criteria andPayTimeEqualTo(String value) {
            addCriterion("quanmaocardorder.PayTime =", value, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.PayTime = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPayTimeNotEqualTo(String value) {
            addCriterion("quanmaocardorder.PayTime <>", value, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeNotEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.PayTime <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPayTimeGreaterThan(String value) {
            addCriterion("quanmaocardorder.PayTime >", value, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeGreaterThanColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.PayTime > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPayTimeGreaterThanOrEqualTo(String value) {
            addCriterion("quanmaocardorder.PayTime >=", value, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeGreaterThanOrEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.PayTime >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPayTimeLessThan(String value) {
            addCriterion("quanmaocardorder.PayTime <", value, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeLessThanColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.PayTime < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPayTimeLessThanOrEqualTo(String value) {
            addCriterion("quanmaocardorder.PayTime <=", value, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeLessThanOrEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.PayTime <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPayTimeLike(String value) {
            addCriterion("quanmaocardorder.PayTime like", value, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeNotLike(String value) {
            addCriterion("quanmaocardorder.PayTime not like", value, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeIn(List<String> values) {
            addCriterion("quanmaocardorder.PayTime in", values, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeNotIn(List<String> values) {
            addCriterion("quanmaocardorder.PayTime not in", values, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeBetween(String value1, String value2) {
            addCriterion("quanmaocardorder.PayTime between", value1, value2, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeNotBetween(String value1, String value2) {
            addCriterion("quanmaocardorder.PayTime not between", value1, value2, "payTime");
            return (Criteria) this;
        }

        public Criteria andFinallyTimeIsNull() {
            addCriterion("quanmaocardorder.FinallyTime is null");
            return (Criteria) this;
        }

        public Criteria andFinallyTimeIsNotNull() {
            addCriterion("quanmaocardorder.FinallyTime is not null");
            return (Criteria) this;
        }

        public Criteria andFinallyTimeEqualTo(String value) {
            addCriterion("quanmaocardorder.FinallyTime =", value, "finallyTime");
            return (Criteria) this;
        }

        public Criteria andFinallyTimeEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.FinallyTime = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFinallyTimeNotEqualTo(String value) {
            addCriterion("quanmaocardorder.FinallyTime <>", value, "finallyTime");
            return (Criteria) this;
        }

        public Criteria andFinallyTimeNotEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.FinallyTime <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFinallyTimeGreaterThan(String value) {
            addCriterion("quanmaocardorder.FinallyTime >", value, "finallyTime");
            return (Criteria) this;
        }

        public Criteria andFinallyTimeGreaterThanColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.FinallyTime > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFinallyTimeGreaterThanOrEqualTo(String value) {
            addCriterion("quanmaocardorder.FinallyTime >=", value, "finallyTime");
            return (Criteria) this;
        }

        public Criteria andFinallyTimeGreaterThanOrEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.FinallyTime >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFinallyTimeLessThan(String value) {
            addCriterion("quanmaocardorder.FinallyTime <", value, "finallyTime");
            return (Criteria) this;
        }

        public Criteria andFinallyTimeLessThanColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.FinallyTime < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFinallyTimeLessThanOrEqualTo(String value) {
            addCriterion("quanmaocardorder.FinallyTime <=", value, "finallyTime");
            return (Criteria) this;
        }

        public Criteria andFinallyTimeLessThanOrEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.FinallyTime <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFinallyTimeLike(String value) {
            addCriterion("quanmaocardorder.FinallyTime like", value, "finallyTime");
            return (Criteria) this;
        }

        public Criteria andFinallyTimeNotLike(String value) {
            addCriterion("quanmaocardorder.FinallyTime not like", value, "finallyTime");
            return (Criteria) this;
        }

        public Criteria andFinallyTimeIn(List<String> values) {
            addCriterion("quanmaocardorder.FinallyTime in", values, "finallyTime");
            return (Criteria) this;
        }

        public Criteria andFinallyTimeNotIn(List<String> values) {
            addCriterion("quanmaocardorder.FinallyTime not in", values, "finallyTime");
            return (Criteria) this;
        }

        public Criteria andFinallyTimeBetween(String value1, String value2) {
            addCriterion("quanmaocardorder.FinallyTime between", value1, value2, "finallyTime");
            return (Criteria) this;
        }

        public Criteria andFinallyTimeNotBetween(String value1, String value2) {
            addCriterion("quanmaocardorder.FinallyTime not between", value1, value2, "finallyTime");
            return (Criteria) this;
        }

        public Criteria andChargeAccountIsNull() {
            addCriterion("quanmaocardorder.ChargeAccount is null");
            return (Criteria) this;
        }

        public Criteria andChargeAccountIsNotNull() {
            addCriterion("quanmaocardorder.ChargeAccount is not null");
            return (Criteria) this;
        }

        public Criteria andChargeAccountEqualTo(String value) {
            addCriterion("quanmaocardorder.ChargeAccount =", value, "chargeAccount");
            return (Criteria) this;
        }

        public Criteria andChargeAccountEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.ChargeAccount = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andChargeAccountNotEqualTo(String value) {
            addCriterion("quanmaocardorder.ChargeAccount <>", value, "chargeAccount");
            return (Criteria) this;
        }

        public Criteria andChargeAccountNotEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.ChargeAccount <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andChargeAccountGreaterThan(String value) {
            addCriterion("quanmaocardorder.ChargeAccount >", value, "chargeAccount");
            return (Criteria) this;
        }

        public Criteria andChargeAccountGreaterThanColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.ChargeAccount > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andChargeAccountGreaterThanOrEqualTo(String value) {
            addCriterion("quanmaocardorder.ChargeAccount >=", value, "chargeAccount");
            return (Criteria) this;
        }

        public Criteria andChargeAccountGreaterThanOrEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.ChargeAccount >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andChargeAccountLessThan(String value) {
            addCriterion("quanmaocardorder.ChargeAccount <", value, "chargeAccount");
            return (Criteria) this;
        }

        public Criteria andChargeAccountLessThanColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.ChargeAccount < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andChargeAccountLessThanOrEqualTo(String value) {
            addCriterion("quanmaocardorder.ChargeAccount <=", value, "chargeAccount");
            return (Criteria) this;
        }

        public Criteria andChargeAccountLessThanOrEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.ChargeAccount <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andChargeAccountLike(String value) {
            addCriterion("quanmaocardorder.ChargeAccount like", value, "chargeAccount");
            return (Criteria) this;
        }

        public Criteria andChargeAccountNotLike(String value) {
            addCriterion("quanmaocardorder.ChargeAccount not like", value, "chargeAccount");
            return (Criteria) this;
        }

        public Criteria andChargeAccountIn(List<String> values) {
            addCriterion("quanmaocardorder.ChargeAccount in", values, "chargeAccount");
            return (Criteria) this;
        }

        public Criteria andChargeAccountNotIn(List<String> values) {
            addCriterion("quanmaocardorder.ChargeAccount not in", values, "chargeAccount");
            return (Criteria) this;
        }

        public Criteria andChargeAccountBetween(String value1, String value2) {
            addCriterion("quanmaocardorder.ChargeAccount between", value1, value2, "chargeAccount");
            return (Criteria) this;
        }

        public Criteria andChargeAccountNotBetween(String value1, String value2) {
            addCriterion("quanmaocardorder.ChargeAccount not between", value1, value2, "chargeAccount");
            return (Criteria) this;
        }

        public Criteria andDeletedIsNull() {
            addCriterion("quanmaocardorder.Deleted is null");
            return (Criteria) this;
        }

        public Criteria andDeletedIsNotNull() {
            addCriterion("quanmaocardorder.Deleted is not null");
            return (Criteria) this;
        }

        public Criteria andDeletedEqualTo(Boolean value) {
            addCriterion("quanmaocardorder.Deleted =", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.Deleted = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andDeletedNotEqualTo(Boolean value) {
            addCriterion("quanmaocardorder.Deleted <>", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedNotEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.Deleted <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andDeletedGreaterThan(Boolean value) {
            addCriterion("quanmaocardorder.Deleted >", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedGreaterThanColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.Deleted > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andDeletedGreaterThanOrEqualTo(Boolean value) {
            addCriterion("quanmaocardorder.Deleted >=", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedGreaterThanOrEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.Deleted >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andDeletedLessThan(Boolean value) {
            addCriterion("quanmaocardorder.Deleted <", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedLessThanColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.Deleted < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andDeletedLessThanOrEqualTo(Boolean value) {
            addCriterion("quanmaocardorder.Deleted <=", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedLessThanOrEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.Deleted <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andDeletedIn(List<Boolean> values) {
            addCriterion("quanmaocardorder.Deleted in", values, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedNotIn(List<Boolean> values) {
            addCriterion("quanmaocardorder.Deleted not in", values, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedBetween(Boolean value1, Boolean value2) {
            addCriterion("quanmaocardorder.Deleted between", value1, value2, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedNotBetween(Boolean value1, Boolean value2) {
            addCriterion("quanmaocardorder.Deleted not between", value1, value2, "deleted");
            return (Criteria) this;
        }

        public Criteria andCreateUserIsNull() {
            addCriterion("quanmaocardorder.`CreateUser` is null");
            return (Criteria) this;
        }

        public Criteria andCreateUserIsNotNull() {
            addCriterion("quanmaocardorder.`CreateUser` is not null");
            return (Criteria) this;
        }

        public Criteria andCreateUserEqualTo(String value) {
            addCriterion("quanmaocardorder.`CreateUser` =", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.`CreateUser` = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateUserNotEqualTo(String value) {
            addCriterion("quanmaocardorder.`CreateUser` <>", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserNotEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.`CreateUser` <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateUserGreaterThan(String value) {
            addCriterion("quanmaocardorder.`CreateUser` >", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserGreaterThanColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.`CreateUser` > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateUserGreaterThanOrEqualTo(String value) {
            addCriterion("quanmaocardorder.`CreateUser` >=", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserGreaterThanOrEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.`CreateUser` >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateUserLessThan(String value) {
            addCriterion("quanmaocardorder.`CreateUser` <", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserLessThanColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.`CreateUser` < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateUserLessThanOrEqualTo(String value) {
            addCriterion("quanmaocardorder.`CreateUser` <=", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserLessThanOrEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.`CreateUser` <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateUserLike(String value) {
            addCriterion("quanmaocardorder.`CreateUser` like", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserNotLike(String value) {
            addCriterion("quanmaocardorder.`CreateUser` not like", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserIn(List<String> values) {
            addCriterion("quanmaocardorder.`CreateUser` in", values, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserNotIn(List<String> values) {
            addCriterion("quanmaocardorder.`CreateUser` not in", values, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserBetween(String value1, String value2) {
            addCriterion("quanmaocardorder.`CreateUser` between", value1, value2, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserNotBetween(String value1, String value2) {
            addCriterion("quanmaocardorder.`CreateUser` not between", value1, value2, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("quanmaocardorder.CreateTime is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("quanmaocardorder.CreateTime is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("quanmaocardorder.CreateTime =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.CreateTime = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("quanmaocardorder.CreateTime <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.CreateTime <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("quanmaocardorder.CreateTime >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.CreateTime > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("quanmaocardorder.CreateTime >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.CreateTime >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("quanmaocardorder.CreateTime <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.CreateTime < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("quanmaocardorder.CreateTime <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.CreateTime <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("quanmaocardorder.CreateTime in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("quanmaocardorder.CreateTime not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("quanmaocardorder.CreateTime between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("quanmaocardorder.CreateTime not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIsNull() {
            addCriterion("quanmaocardorder.UpdateUser is null");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIsNotNull() {
            addCriterion("quanmaocardorder.UpdateUser is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateUserEqualTo(String value) {
            addCriterion("quanmaocardorder.UpdateUser =", value, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.UpdateUser = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateUserNotEqualTo(String value) {
            addCriterion("quanmaocardorder.UpdateUser <>", value, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNotEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.UpdateUser <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateUserGreaterThan(String value) {
            addCriterion("quanmaocardorder.UpdateUser >", value, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserGreaterThanColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.UpdateUser > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateUserGreaterThanOrEqualTo(String value) {
            addCriterion("quanmaocardorder.UpdateUser >=", value, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserGreaterThanOrEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.UpdateUser >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateUserLessThan(String value) {
            addCriterion("quanmaocardorder.UpdateUser <", value, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserLessThanColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.UpdateUser < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateUserLessThanOrEqualTo(String value) {
            addCriterion("quanmaocardorder.UpdateUser <=", value, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserLessThanOrEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.UpdateUser <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateUserLike(String value) {
            addCriterion("quanmaocardorder.UpdateUser like", value, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNotLike(String value) {
            addCriterion("quanmaocardorder.UpdateUser not like", value, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIn(List<String> values) {
            addCriterion("quanmaocardorder.UpdateUser in", values, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNotIn(List<String> values) {
            addCriterion("quanmaocardorder.UpdateUser not in", values, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserBetween(String value1, String value2) {
            addCriterion("quanmaocardorder.UpdateUser between", value1, value2, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNotBetween(String value1, String value2) {
            addCriterion("quanmaocardorder.UpdateUser not between", value1, value2, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("quanmaocardorder.UpdateTime is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("quanmaocardorder.UpdateTime is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("quanmaocardorder.UpdateTime =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.UpdateTime = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("quanmaocardorder.UpdateTime <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.UpdateTime <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("quanmaocardorder.UpdateTime >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.UpdateTime > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("quanmaocardorder.UpdateTime >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.UpdateTime >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("quanmaocardorder.UpdateTime <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.UpdateTime < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("quanmaocardorder.UpdateTime <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualToColumn(QuanMaoCardOrder.Column column) {
            addCriterion(new StringBuilder("quanmaocardorder.UpdateTime <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("quanmaocardorder.UpdateTime in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("quanmaocardorder.UpdateTime not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("quanmaocardorder.UpdateTime between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("quanmaocardorder.UpdateTime not between", value1, value2, "updateTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {
        private QuanMaoCardOrderExample example;

        protected Criteria(QuanMaoCardOrderExample example) {
            super();
            this.example = example;
        }

        public QuanMaoCardOrderExample example() {
            return this.example;
        }

        @Deprecated
        public Criteria andIf(boolean ifAdd, ICriteriaAdd add) {
            if (ifAdd) {
                add.add(this);
            }
            return this;
        }

        public Criteria when(boolean condition, ICriteriaWhen then) {
            if (condition) {
                then.criteria(this);
            }
            return this;
        }

        public Criteria when(boolean condition, ICriteriaWhen then, ICriteriaWhen otherwise) {
            if (condition) {
                then.criteria(this);
            } else {
                otherwise.criteria(this);
            }
            return this;
        }

        public Criteria andLogicalDeleted(boolean deleted) {
            return deleted ? andDeletedEqualTo(QuanMaoCardOrder.Deleted.IS_DELETED.value()) : andDeletedNotEqualTo(QuanMaoCardOrder.Deleted.IS_DELETED.value());
        }

        @Deprecated
        public interface ICriteriaAdd {
            Criteria add(Criteria add);
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }

    public interface ICriteriaWhen {
        void criteria(Criteria criteria);
    }

    public interface IExampleWhen {
        void example(com.ecoolex.discount.sales.entity.QuanMaoCardOrderExample example);
    }
}